package com.hgkj.cloud.base.dao;

import com.hgkj.cloud.base.domain.TenantQuestionnaireTaskInfo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

@Mapper
public interface TenantQuestionnaireTaskInfoMapper {
    int deleteByPrimaryKey(Long id);

    int insert(TenantQuestionnaireTaskInfo record);

    int insertSelective(TenantQuestionnaireTaskInfo record);

    TenantQuestionnaireTaskInfo selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(TenantQuestionnaireTaskInfo record);

    int updateByPrimaryKey(TenantQuestionnaireTaskInfo record);

    int deleteQnTaskInfo(Map<String, Object> map);

    List<TenantQuestionnaireTaskInfo> listQnTaskInfoByMap(Map<String, Object> map);

    TenantQuestionnaireTaskInfo findFinishedQnTask(Map<String, Object> map);

    List<Map<String, Object>> listPageQnTaskInfos(Map<String, Object> map);

    int listPageQnTaskInfosCount(Map<String, Object> map);

    List<TenantQuestionnaireTaskInfo> listAllQnTaskInfos(Map<String, Object> map);

    List<TenantQuestionnaireTaskInfo> listCheckQnTaskInfos(Long task_id);

    int countQTaskFinishedUsers(Long task_id);

    List<Map<String, Object>> listWarningCounts(Map<String, Object> map);

    int listAllCountsbyQnId(Map<String, Object> map);

    List<Map<String, Object>> listWarningUsers(Map<String, Object> map);

    int listWarningUsersCount(Map<String, Object> map);

    List<Map<String, Object>> listUsersByParameter(Map<String, Object> map);

    List<Map<String, Object>> listFinishUserAndTaskInfo(Map<String, Object> map);

    int listUsersByParameterCount(Map<String, Object> map);
    long listFinishUserAndTaskInfoCount(Map<String, Object> map);

    int listJoinQnTaskInfosCount(Map<String, Object> map);

    List<Map<String, Object>> statMonthQnTaskInfo(Map<String, Object> map);

    List<Map<String, Object>> frameworkScoreStatistics(Map<String, Object> map);

    List<Map<String, Object>> frameworkScoreStatisticsUser(Map<String, Object> map);

    List<Map<String, Object>> subjectOptionStatistics(Map<String, Object> map);

    List<Map<String, Object>> subjectOptionStatisticsUser(Map<String, Object> map);

    int getUserQuestionnaireTaskInfoFinishedCount(Map<String, Object> map);
}